from SingleLinkList_Node import Node

class SingleLink_List(object):
	#该类为链表,有多个单链表节点组成

	#

	#初始化一个头根节点
	def __init__(self):
		self.root = None
		self.data = None

	#在链表尾部插入节点
	def appendNode_end(self,data):

		if self.root == None:    #如果尾部为头结点即只存在一个节点，则插入到头结点后面
			self.root = Node(data,next = None)
		else:  #反之存在多个节点，定义一个游标来定位到最后一个节点
			cursor = self.root
			while cursor.next != None :
				cursor = cursor.next
			cursor.next = Node(data,next = None)

	#在链表头部插入节点 
	def appendNode_head(self,data):
		if self.root == None:    #如果尾部为头结点即只存在一个节点，则插入到头结点后面
			self.root = Node(data,next = None)
		else:
			#定义要插入的节点 spare Node,在头部插入 
			sNode = Node(data,next=self.root)
			self.root = sNode

	#在指定位置添加元素
	def insertNode(self,data,index):
		pass

	#获取链表长度 
	def getLenth(self):
		counter = 1
		cursor = self.root
		if self.root == None:
			counter -= 1
			return counter
		else:
			while cursor.next != None:
				cursor = cursor.next
				counter = counter + 1
			return counter
